python3.9的转义符使用和其他版本不一样吗? 您所在的位置:网站首页 pycharm转义字符/b不退格 python3.9的转义符使用和其他版本不一样吗?

python3.9的转义符使用和其他版本不一样吗?

2023-04-10 00:36| 来源: 网络整理| 查看: 265

这是因为,\b, \r和\t这类特殊字符,在不同地方的处理方式可能是不一样的。

虽然我们知道\b是退格,但有的时候我们需要把它当做一个真正的字符来进行编辑,这通常存在于文本编辑器中,这时文本编辑器通常就不会真的删除前一个字符,而是以一种特殊的方式把“\b”这个字符显示出来,方便人编辑它。而在终端模拟器中,通常我们使用\b的时候是真的想要删除前一个字符,所以很多终端模拟器(但不是全部)会确实“删除”前一个字符。

而\r是回车符,表示回到行首,但同样不同地方表现得不一样,文本编辑器可能会把它显示为一个特殊字符、可能会把它当做和换行符\n一样、也可能像IDLE这样什么都不显示;而一个正确的终端模拟器应当把\r显示为回到行首。

而制表符\t也是类似,制表符就是制表符,它可以用来以固定的宽度对齐文本,但是这个宽度是可以设置的,常见的值有8个字符宽度、4个字符宽度,但你也可以设置成其它的值(通常在文本编辑器或者终端模拟器中设置),比如2,当然甚至可以不是2的倍数。所以,通常来说,除非你有明确的使用场景可以保证\t的宽度,否则在输出\t字符的时候不应该对\t的实际宽度做任何假设。如果你确实需要对齐,那么应该使用空格,比如字符串格式化中的对齐功能。

另外,正因为\t的宽度不确定,所以python在缩进问题上不推荐使用\t来缩进,而完全禁止混用空格和\t。推荐的缩进应当总是4个空格。需要注意的是,很多文本编辑器中已经做了设置,在你按下键盘上的tab键时不会输入\t字符而是自动输入正确数量的空格,比如你正在使用的IDLE就是如此。

那么你遇到的问题实际上是因为,你在使用IDLE运行你的python程序,而IDLE的窗口不是一个终端模拟器而是一个改造过的文本编辑器,所以它更倾向于不会把\b当做退格处理,而是当成一个字符显示出来。如果你需要它表现为退格的话,你需要一个合适的终端模拟器。

比如,题主用的是Windows,如果你正确安装了python的话,应该可以直接双击你的py文件运行,这时会弹出一个黑色窗口,里面能看到那些你想输出的字符,在这里应当正确显示为退格了。或者可以在你放置py文件的文件夹(看上去这也就是你的桌面),按住shift并点击鼠标右键,选择“在此处打开powershell”,这时你应该会看到一个蓝色或是黑色的窗口,在这里面输入“python tab.py”并按下回车来执行这个文件,也可以得到类似效果。如果提示你“找不到命令”之类的,那么你需要百度“如何将python添加到环境变量PATH”,这里不再赘述。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有